package main

import "fmt"

// 闭包 函数外部可以访问到函数内部的变量,突破了函数作用域的封锁
func f1(key string) func() string {
	x := make(map[string]string, 3)
	x["name"] = "李四"
	x["age"] = "18"
	return func() string {
		return x[key]
	}
}
func f2(key string) {
	value := f1(key)()
	fmt.Printf("value: %v\n", value)
}
func main() {
	f2("name")
}
